无题
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 课程社区 |
| 这个作业的要求在哪里 | 作业要求 |
| 我在这个课程的目标是 | 通过一定的软件开发流程,在预计时间内发布”足够好”的符合用户需求的软件,并证明其是可维护和持续发展的。 |
| 这个作业在哪个具体方面帮助我实现目标 | 帮助掌握独立思考以及提问有价值的问题的能力 |
问题一:goto函数的是否使用问题?
在第4章《两人合作》的4.3《代码设计规范》一节的4.3.2 goto中有原文如下:
1 | |
并在此后提出了近10种团队模式,例如:交响乐团模式和爵士乐模式等,这些团队无一例外都是由多人组成。
但是在当前AI大模型横行的当下,一人成军或许已经可行?已有案例,其复刻了一套AI工作流:
- 让 AI 扫描全球各行业的公开数据,找「有人需要但没人做」的应用缺口。产品主要面向海外市场,比如美国建筑行业工具、西班牙耗水监测 App、新加坡工程管理软件等。
- 把筛选出的需求转成功能清单,交给 AI 写代码。
- 第二天醒来验收上架,每天花不到 1 小时。单款成本几百块,不行就关掉换下一个。
我的观点是就目前的AI水平可能还无法真的达到在保证产品质量高和低成本等的平衡,生产出来的产品也只是满足一些偏低级的需求的产品。
但是我不知道随着AI的持续发展,是否真的能够做到一人成军,或者说出现两三个人加上一大堆AI组成的团队模式——养龙虾模式?如果这种模式真的能够取得成功,那么软件工程又将何去何从?
问题三:“探索式”的测试太多真的意味着团队管理不佳嘛?
书中第13章《软件测试》的13.2节的各种测试方法中的13.2.4 “探索式”的测试(Ad hoc Test)中有如下表述:
1 | |
通过查阅维基百科,得出对于其定义为
1 | |
是一种没有提前文档安排的临时测试,因此有着可能无记录的弊端,但是大多数测试人员仍然打算将自己的方法论应用于整个软件开发过程中,以查找计划测试用例未预料到的缺陷,并根据具体情况选择合适的方法。
我的观点是这种测试是原先安排好的测试的一种很好的补充,它的出现恰恰说明了我们离理想状态更近了一步,而由于bug是无穷无尽的,并且随着用户需求的不断变化,新的bug可能层出不穷。这时仅仅靠预先的文档中的测试方式可能并不能很好的测试出所有的bug,在这种情况下,”探索式”测试就难得可贵了。
因此,我认为“探索式”的测试太多并不意味着团队管理不佳,而只是代码状态的再完善,是对于一些边界条件的再讨论起点,那么一刀切死是否过于绝对了?
问题四:关于伙伴测试的一点疑惑?
书中第13章《软件测试》的13.2 各种测试的第13.2.7节 《伙伴测试》提到了
1 | |
通过查阅相关博客资料,知道了伙伴测试的优劣性,例如:增加对他人依赖性,因为两名测试人员必须合作才能成功。如果其中一名测试人员无法参与测试,则可能会延迟或扰乱测试进度。但是我还有一些困惑。
这种伙伴测试的伙伴之间的关系与第2章 《两人合作》中小组中的两人之间关系有什么相似之处和差别嘛?这种测试方式是否是一种绑定测试人员的情况,即这种测试是否会占用测试人员的名额,进而导致团队过于冗余?
问题五:只能做猪、鸡或者鹦鹉嘛?
书中第17章 《人,绩效和职业道德》中的17.4节 《猪、鸡和鹦鹉的故事》中提到了
1 | |
此处作者将团队中的人划分为三类进行讨论,是否过于简化现实情况,比如,随着项目的推进鸡变为猪之类的动态变化。因为对于一些初创团队来说,没人知道它是否会成功,大家可能一开始都是鸡,但是随着项目的逐步成功,或许有些人逐渐变成了猪。
因此,我认为不应该简单的将团队里的参与程度简单的身份化,或许用实时的变化趋势来表示更为准确?此外,我还好奇在AI横行的当下,鹦鹉是否也能拥有发言权?

